0229. 类型运算
1. 🎯 本节内容
- 类型运算
2. 🫧 评价
本章主要介绍 TS 中类型运算的相关知识。
TS 中的很多内置的工具类型,比如 Partial<T>、Required<T>、Readonly<T>、Record<T,U>、Pick<T,U>、Exclude<T,U> …… 等等,都是基于这些基础的运算逻辑实现的。
3. 🔍 章节速览
| 笔记 | 简介 |
|---|---|
| 0188.keyof 运算符 | keyof 能够获取对象类型的所有键组成的联合类型,是实现高级类型工具的基础,TS 中的大多内置类型,比如 Partial<T>、Required<T>、Readonly<T> 等,都是利用 keyof 创建的映射类型。 |
| 0189.in 运算符 | JS 中也有 in 运算符,主要用于属性检查是否存在,本节主要介绍 TS 中的 in 运算符,重点介绍在类型运算中 in 运算符的作用,它是实现 Partial、Required、Readonly 等工具类型的基础。 |
| 0190.extends 条件类型 | TS 条件类型是通过 extends 检查一个类型是否满足约束,然后根据结果为 true 或 false 选择不同类型分支的类型运算技术。 |
| 0191.infer 关键字 | TS 中的 infer 关键字是 TS 4.7 中新增的关键字,主要在在条件模式匹配过程中提取类型,你可以通过修改模式匹配的写法,提取特定位置的类型信息(比如数组/元组的第一个/最后一个成员类型,指定位置的函数参数类型,等等)。 |
| 0192.索引访问类型 | TS 中的索引访问类型是一种通过索引获取其他类型的子类型的机制。 |
| 0194.条件类型的分布式特性 | TS 中条件类型的分布式特性是 Exclude、Extract、NonNullable 等工具类型的实现基础。 |
| 0195.映射类型 | TS 中的映射类型是类型系统中的一种基于旧类型创建新类型的机制,是封装类型工具的核心知识点。 |
| 0196.模板字面量类型 | TS 4.1+ 引入了模板字面量类型,它是类型系统中进行字符串操作的强大工具,有不少高级用法。 |
| 0197.satisfies 运算符 | 在 TS 4.9 中引入的 satisfies 运算符,这是一个在类型安全和类型推断之间取得平衡的重要特性。 |